home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2007 December / PCWKCD1207B.iso / Blogowanie poza sfera / Flock 0.9.1.3 stable / flock-0.9.1.3.en-US.win32.exe / flock / components / flockBuildProperties.js < prev    next >
Text File  |  2007-10-12  |  3KB  |  101 lines

  1. // vim: ts=2 sw=2 expandtab ai
  2. /*
  3.  * BEGIN FLOCK GPL
  4.  * 
  5.  * Copyright Flock Inc. 2005-2007
  6.  * http://flock.com
  7.  * 
  8.  * This file may be used under the terms of of the
  9.  * GNU General Public License Version 2 or later (the "GPL"),
  10.  * http://www.gnu.org/licenses/gpl.html
  11.  * 
  12.  * Software distributed under the License is distributed on an "AS IS" basis,
  13.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  14.  * for the specific language governing rights and limitations under the
  15.  * License.
  16.  * 
  17.  * END FLOCK GPL
  18.  */
  19.  
  20. const CLASS_ID = Components.ID("{7bd3c99c-d2aa-4cde-9d11-2ebc193def3f}");
  21. const CLASS_NAME = "Flock Build Properties";
  22. const CONTRACT_ID = "@flock.com/build-properties;1";
  23.  
  24.  
  25. function flockBuildProperties () {
  26.   this.revision = "$Revision: 10993 $".match ('[$]Revision: ([0-9]+) [$]$')[1]
  27. }
  28. // nsISupports
  29. flockBuildProperties.prototype.QueryInterface =
  30. function flockBuildProperties_QueryInterface (aIID) {
  31.   if (!aIID.equals (Components.interfaces.nsISupports) && 
  32.       !aIID.equals(Components.interfaces.flockIBuildProperties)) {
  33.     throw Components.results.NS_ERROR_NO_INTERFACE;
  34.   }
  35.  
  36.   return this;
  37. }
  38. // nsIClassInfo
  39. flockBuildProperties.prototype.getInterfaces =
  40. function flockBuildProperties (aCount) {
  41.   var interfaces = [Components.interfaces.nsIClassInfo, Components.interfaces.nsISupports, Components.interfaces.flockIBuildProperties];
  42.   aCount.value = interfaces.length;
  43.   return interfaces;
  44. }
  45. flockBuildProperties.prototype.getHelperForLanguage =
  46. function (aLanguage) { return null; }
  47. flockBuildProperties.prototype.contractID = CONTRACT_ID;
  48. flockBuildProperties.prototype.classDescription = CLASS_NAME;
  49. flockBuildProperties.prototype.classID = CLASS_ID;
  50. flockBuildProperties.prototype.implementationLanguage = 
  51.     Components.interfaces.nsIProgrammingLanguage.JAVASCRIPT;
  52. flockBuildProperties.prototype.flags = 
  53.     Components.interfaces.nsIClassInfo.SINGLETON;
  54.  
  55.  
  56.  
  57.  
  58. /******************************************************************************
  59.  * XPCOM Functions for construction and registration
  60.  ******************************************************************************/
  61. var Module = {
  62.   _firstTime: true,
  63.   registerSelf: function(aCompMgr, aFileSpec, aLocation, aType)
  64.   {
  65.     if (this._firstTime) {
  66.       this._firstTime = false;
  67.       throw Components.results.NS_ERROR_FACTORY_REGISTER_AGAIN;
  68.     }
  69.     aCompMgr = aCompMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
  70.     aCompMgr.registerFactoryLocation(CLASS_ID, CLASS_NAME, CONTRACT_ID, aFileSpec, aLocation, aType);
  71.   },
  72.  
  73.   unregisterSelf: function(aCompMgr, aLocation, aType)
  74.   {
  75.     aCompMgr = aCompMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
  76.     aCompMgr.unregisterFactoryLocation(CLASS_ID, aLocation);
  77.   },
  78.  
  79.   getClassObject: function(aCompMgr, aCID, aIID)
  80.   {
  81.     if (!aIID.equals(Components.interfaces.nsIFactory))
  82.       throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
  83.     if (aCID.equals(CLASS_ID))
  84.       return Factory;
  85.     throw Components.results.NS_ERROR_NO_INTERFACE;
  86.   },
  87.  
  88.   canUnload: function(aCompMgr) { return true; }
  89. };
  90.  
  91. var Factory = {
  92.   createInstance: function(aOuter, aIID)
  93.   {
  94.     if (aOuter != null)
  95.       throw Components.results.NS_ERROR_NO_AGGREGATION;
  96.     return (new flockBuildProperties()).QueryInterface(aIID);
  97.   }
  98. };
  99.  
  100. function NSGetModule(aCompMgr, aFileSpec) { return Module; }
  101.